pub mod bindings;
mod state;
mod ffiutils;

pub use bindings::*;
pub use state::*;

#[macro_export]
macro_rules! lua_c_functions {
    ($(fn $name: ident ($state: tt : RawStateWrapper) -> i32 $blk: block)+) => {
        $(extern fn $name(l: *mut c_void) -> i32 {
            let $state = RawStateWrapper::from_raw(l);
            $blk
        })+
    };
}